package com.zhuanzhuan.hero.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zhuanzhuan.hero.user.annotations.EncryptedField;
import com.zhuanzhuan.hero.user.annotations.EncryptedTable;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;


/**
 * entity:HeroUserContact
 * 
 * @author hanjunjun
 * @date 2024-6-17
 */
@Data
@NoArgsConstructor
@ToString
@TableName("hero_user_contact")
@Accessors(chain = true)
@EncryptedTable
public class HeroUserContact {

      /**
       * id
       */
      @TableId(type = IdType.AUTO)
      private Long	id;
      /**
       * 转转uid
       */
      private Long	uid;
      /**
       * 端外展示的昵称
       */
      private String outerNickname;
      /**
       * 端外展示的头像
       */
      private String outerProfilePhoto;
      /**
       * 联系手机号
       */
      @EncryptedField
      private String contactMobile;
      /**
       * 微信号
       */
      private String wechatNum;

      /**
       * 抖音昵称
       */
      private String douyinNickname;

      /**
       * 微信群二维码
       */
      private String	wechatGroupCode;
      /**
       * 微信群名称
       */
      private String	wechatGroupName;
      /**
       * 微信群描述
       */
      private String	wechatGroupDesc;
      /**
       * 店铺名称
       */
      private String	storeName;
      /**
       * 店铺地址-省
       */
      private String storeProvince;
      /**
       * 店铺地址-省id
       */
      private Integer	storeProvinceId;
      /**
       * 店铺地址-市
       */
      private String storeCity;
      /**
       * 店铺地址-市id
       */
      private Integer storeCityId;
      /**
       * 店铺地址-区
       */
      private String storeCountry;
      /**
       * 店铺地址-区id
       */
      private Integer storeCountryId;
      /**
       * 店铺详细地址
       */
      @EncryptedField
      private String storeAddress;
      /**
       * 店铺图片
       */
      private String storePhotos;
      /**
       * 是否公开联系方式,0-不公开、1-公开
       */
      private Integer isPublicContact;
      /**
       * 是否要求关注,0-不要求、1-要求
       */
      private Integer isRequireAttention;
      /**
       * 0-无效、1-有效、2-删除
       */
      private Integer state;
      /**
       * 创建时间
       */
      private Date	createTime;
      /**
       * 更新时间
       */
      private Date	updateTime;
      /**
       * 创建的用户id
       */
      private Long	createBy;
      /**
       * 更新的用户id
       */
      private Long	updateBy;

      public String joinAbsoluteStoreAddress() {
            if (StringUtils.isBlank(storeProvince) || StringUtils.isBlank(storeCity) || StringUtils.isBlank(storeCountry)) {
                  return "";
            }

            return storeProvince + storeCity + storeCountry + storeAddress;
      }

}
